package cn.flexui.flexuiserver.domain.constant;

import cn.flexui.flexuiserver.support.StatusEnumSupport;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author wanmingyu
 * @create 2024/9/22 14:00
 */
public interface AccountConts {

    @Getter
    @AllArgsConstructor
    enum ResponseEnum implements StatusEnumSupport {
        BALANCE_INSUFFICIENT(4003, "您的余额不足请充值后再使用~"),
        ;
        private Integer code;
        private String message;
    }

    @Getter
    @AllArgsConstructor
    enum LogDescriptionTypeEnum {
        RECHARGE(1000, "用户充值"),
        MANAGER_DEPOSIT(1001, "后台充值"),
        CARD_RECHARGE(1002, "兑换码充值"),

        INVITE(1010, "邀请有礼"),
        REGISTER(1011, "注册有礼"),
        ACTIVITY_GIVE(1012, "余额不足赠送活动"),

        REFUND(2000, "退款"),
        REBATE_WITHDRAW(2010, "返佣提现"),

        CONSUME(3000, "消费"),

        ;

        private Integer type;
        private String desc;
    }

    @Getter
    @AllArgsConstructor
    enum DirectionTypeEnum {
        IN(10, "收入"),
        OUT(20, "支出"),
        ;

        private Integer type;
        private String desc;
    }

    @Getter
    @AllArgsConstructor
    enum AccountTypeEnum {
        COUNT_BALANCE(10, "次数账户"),
        TOKEN_BALANCE(20, "代币账户"),
        ;
        private final Integer type;
        private final String desc;


    }
}
